;--------------------------------------------------------
; File Created by SDCC : FreeWare ANSI-C Compiler
; Version 2.6.0 #4309 (Jul 28 2006)
; This file generated Tue Apr 05 22:14:23 2011
;--------------------------------------------------------
	.module main
	.optsdcc -mmcs51 --model-large
	
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
	.globl _main
	.globl _timer_1_isr
	.globl __sdcc_external_startup
	.globl _TF1
	.globl _TR1
	.globl _TF0
	.globl _TR0
	.globl _IE1
	.globl _IT1
	.globl _IE0
	.globl _IT0
	.globl _SM0
	.globl _SM1
	.globl _SM2
	.globl _REN
	.globl _TB8
	.globl _RB8
	.globl _TI
	.globl _RI
	.globl _CY
	.globl _AC
	.globl _F0
	.globl _RS1
	.globl _RS0
	.globl _OV
	.globl _F1
	.globl _P
	.globl _RD
	.globl _WR
	.globl _T1
	.globl _T0
	.globl _INT1
	.globl _INT0
	.globl _TXD0
	.globl _TXD
	.globl _RXD0
	.globl _RXD
	.globl _P3_7
	.globl _P3_6
	.globl _P3_5
	.globl _P3_4
	.globl _P3_3
	.globl _P3_2
	.globl _P3_1
	.globl _P3_0
	.globl _P2_7
	.globl _P2_6
	.globl _P2_5
	.globl _P2_4
	.globl _P2_3
	.globl _P2_2
	.globl _P2_1
	.globl _P2_0
	.globl _P1_7
	.globl _P1_6
	.globl _P1_5
	.globl _P1_4
	.globl _P1_3
	.globl _P1_2
	.globl _P1_1
	.globl _P1_0
	.globl _P0_7
	.globl _P0_6
	.globl _P0_5
	.globl _P0_4
	.globl _P0_3
	.globl _P0_2
	.globl _P0_1
	.globl _P0_0
	.globl _PS
	.globl _PT1
	.globl _PX1
	.globl _PT0
	.globl _PX0
	.globl _EA
	.globl _ES
	.globl _ET1
	.globl _EX1
	.globl _ET0
	.globl _EX0
	.globl _BREG_F7
	.globl _BREG_F6
	.globl _BREG_F5
	.globl _BREG_F4
	.globl _BREG_F3
	.globl _BREG_F2
	.globl _BREG_F1
	.globl _BREG_F0
	.globl _P5_7
	.globl _P5_6
	.globl _P5_5
	.globl _P5_4
	.globl _P5_3
	.globl _P5_2
	.globl _P5_1
	.globl _P5_0
	.globl _P4_7
	.globl _P4_6
	.globl _P4_5
	.globl _P4_4
	.globl _P4_3
	.globl _P4_2
	.globl _P4_1
	.globl _P4_0
	.globl _PX0L
	.globl _PT0L
	.globl _PX1L
	.globl _PT1L
	.globl _PLS
	.globl _PT2L
	.globl _PPCL
	.globl _EC
	.globl _CCF0
	.globl _CCF1
	.globl _CCF2
	.globl _CCF3
	.globl _CCF4
	.globl _CR
	.globl _CF
	.globl _TF2
	.globl _EXF2
	.globl _RCLK
	.globl _TCLK
	.globl _EXEN2
	.globl _TR2
	.globl _C_T2
	.globl _CP_RL2
	.globl _T2CON_7
	.globl _T2CON_6
	.globl _T2CON_5
	.globl _T2CON_4
	.globl _T2CON_3
	.globl _T2CON_2
	.globl _T2CON_1
	.globl _T2CON_0
	.globl _PT2
	.globl _ET2
	.globl _TMOD
	.globl _TL1
	.globl _TL0
	.globl _TH1
	.globl _TH0
	.globl _TCON
	.globl _SP
	.globl _SCON
	.globl _SBUF0
	.globl _SBUF
	.globl _PSW
	.globl _PCON
	.globl _P3
	.globl _P2
	.globl _P1
	.globl _P0
	.globl _IP
	.globl _IE
	.globl _DP0L
	.globl _DPL
	.globl _DP0H
	.globl _DPH
	.globl _B
	.globl _ACC
	.globl _EECON
	.globl _KBF
	.globl _KBE
	.globl _KBLS
	.globl _BRL
	.globl _BDRCON
	.globl _T2MOD
	.globl _SPDAT
	.globl _SPSTA
	.globl _SPCON
	.globl _SADEN
	.globl _SADDR
	.globl _WDTPRG
	.globl _WDTRST
	.globl _P5
	.globl _P4
	.globl _IPH1
	.globl _IPL1
	.globl _IPH0
	.globl _IPL0
	.globl _IEN1
	.globl _IEN0
	.globl _CMOD
	.globl _CL
	.globl _CH
	.globl _CCON
	.globl _CCAPM4
	.globl _CCAPM3
	.globl _CCAPM2
	.globl _CCAPM1
	.globl _CCAPM0
	.globl _CCAP4L
	.globl _CCAP3L
	.globl _CCAP2L
	.globl _CCAP1L
	.globl _CCAP0L
	.globl _CCAP4H
	.globl _CCAP3H
	.globl _CCAP2H
	.globl _CCAP1H
	.globl _CCAP0H
	.globl _CKCKON1
	.globl _CKCKON0
	.globl _CKRL
	.globl _AUXR1
	.globl _AUXR
	.globl _TH2
	.globl _TL2
	.globl _RCAP2H
	.globl _RCAP2L
	.globl _T2CON
	.globl _getInput_PARM_5
	.globl _getInput_PARM_4
	.globl _getInput_PARM_3
	.globl _getInput_PARM_2
	.globl _putchar
	.globl _getchar
	.globl _putstr
	.globl _getstr
	.globl _serialInit
	.globl _initAll
	.globl _clearScr
	.globl _myDelay
	.globl _hexalpha_to_int
	.globl _htoi
	.globl _menuInvalid
	.globl _printMenu
	.globl _getInput
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
	.area RSEG    (DATA)
G$T2CON$0$0 == 0x00c8
_T2CON	=	0x00c8
G$RCAP2L$0$0 == 0x00ca
_RCAP2L	=	0x00ca
G$RCAP2H$0$0 == 0x00cb
_RCAP2H	=	0x00cb
G$TL2$0$0 == 0x00cc
_TL2	=	0x00cc
G$TH2$0$0 == 0x00cd
_TH2	=	0x00cd
G$AUXR$0$0 == 0x008e
_AUXR	=	0x008e
G$AUXR1$0$0 == 0x00a2
_AUXR1	=	0x00a2
G$CKRL$0$0 == 0x0097
_CKRL	=	0x0097
G$CKCKON0$0$0 == 0x008f
_CKCKON0	=	0x008f
G$CKCKON1$0$0 == 0x008f
_CKCKON1	=	0x008f
G$CCAP0H$0$0 == 0x00fa
_CCAP0H	=	0x00fa
G$CCAP1H$0$0 == 0x00fb
_CCAP1H	=	0x00fb
G$CCAP2H$0$0 == 0x00fc
_CCAP2H	=	0x00fc
G$CCAP3H$0$0 == 0x00fd
_CCAP3H	=	0x00fd
G$CCAP4H$0$0 == 0x00fe
_CCAP4H	=	0x00fe
G$CCAP0L$0$0 == 0x00ea
_CCAP0L	=	0x00ea
G$CCAP1L$0$0 == 0x00eb
_CCAP1L	=	0x00eb
G$CCAP2L$0$0 == 0x00ec
_CCAP2L	=	0x00ec
G$CCAP3L$0$0 == 0x00ed
_CCAP3L	=	0x00ed
G$CCAP4L$0$0 == 0x00ee
_CCAP4L	=	0x00ee
G$CCAPM0$0$0 == 0x00da
_CCAPM0	=	0x00da
G$CCAPM1$0$0 == 0x00db
_CCAPM1	=	0x00db
G$CCAPM2$0$0 == 0x00dc
_CCAPM2	=	0x00dc
G$CCAPM3$0$0 == 0x00dd
_CCAPM3	=	0x00dd
G$CCAPM4$0$0 == 0x00de
_CCAPM4	=	0x00de
G$CCON$0$0 == 0x00d8
_CCON	=	0x00d8
G$CH$0$0 == 0x00f9
_CH	=	0x00f9
G$CL$0$0 == 0x00e9
_CL	=	0x00e9
G$CMOD$0$0 == 0x00d9
_CMOD	=	0x00d9
G$IEN0$0$0 == 0x00a8
_IEN0	=	0x00a8
G$IEN1$0$0 == 0x00b1
_IEN1	=	0x00b1
G$IPL0$0$0 == 0x00b8
_IPL0	=	0x00b8
G$IPH0$0$0 == 0x00b7
_IPH0	=	0x00b7
G$IPL1$0$0 == 0x00b2
_IPL1	=	0x00b2
G$IPH1$0$0 == 0x00b3
_IPH1	=	0x00b3
G$P4$0$0 == 0x00c0
_P4	=	0x00c0
G$P5$0$0 == 0x00d8
_P5	=	0x00d8
G$WDTRST$0$0 == 0x00a6
_WDTRST	=	0x00a6
G$WDTPRG$0$0 == 0x00a7
_WDTPRG	=	0x00a7
G$SADDR$0$0 == 0x00a9
_SADDR	=	0x00a9
G$SADEN$0$0 == 0x00b9
_SADEN	=	0x00b9
G$SPCON$0$0 == 0x00c3
_SPCON	=	0x00c3
G$SPSTA$0$0 == 0x00c4
_SPSTA	=	0x00c4
G$SPDAT$0$0 == 0x00c5
_SPDAT	=	0x00c5
G$T2MOD$0$0 == 0x00c9
_T2MOD	=	0x00c9
G$BDRCON$0$0 == 0x009b
_BDRCON	=	0x009b
G$BRL$0$0 == 0x009a
_BRL	=	0x009a
G$KBLS$0$0 == 0x009c
_KBLS	=	0x009c
G$KBE$0$0 == 0x009d
_KBE	=	0x009d
G$KBF$0$0 == 0x009e
_KBF	=	0x009e
G$EECON$0$0 == 0x00d2
_EECON	=	0x00d2
G$ACC$0$0 == 0x00e0
_ACC	=	0x00e0
G$B$0$0 == 0x00f0
_B	=	0x00f0
G$DPH$0$0 == 0x0083
_DPH	=	0x0083
G$DP0H$0$0 == 0x0083
_DP0H	=	0x0083
G$DPL$0$0 == 0x0082
_DPL	=	0x0082
G$DP0L$0$0 == 0x0082
_DP0L	=	0x0082
G$IE$0$0 == 0x00a8
_IE	=	0x00a8
G$IP$0$0 == 0x00b8
_IP	=	0x00b8
G$P0$0$0 == 0x0080
_P0	=	0x0080
G$P1$0$0 == 0x0090
_P1	=	0x0090
G$P2$0$0 == 0x00a0
_P2	=	0x00a0
G$P3$0$0 == 0x00b0
_P3	=	0x00b0
G$PCON$0$0 == 0x0087
_PCON	=	0x0087
G$PSW$0$0 == 0x00d0
_PSW	=	0x00d0
G$SBUF$0$0 == 0x0099
_SBUF	=	0x0099
G$SBUF0$0$0 == 0x0099
_SBUF0	=	0x0099
G$SCON$0$0 == 0x0098
_SCON	=	0x0098
G$SP$0$0 == 0x0081
_SP	=	0x0081
G$TCON$0$0 == 0x0088
_TCON	=	0x0088
G$TH0$0$0 == 0x008c
_TH0	=	0x008c
G$TH1$0$0 == 0x008d
_TH1	=	0x008d
G$TL0$0$0 == 0x008a
_TL0	=	0x008a
G$TL1$0$0 == 0x008b
_TL1	=	0x008b
G$TMOD$0$0 == 0x0089
_TMOD	=	0x0089
;--------------------------------------------------------
; special function bits
;--------------------------------------------------------
	.area RSEG    (DATA)
G$ET2$0$0 == 0x00ad
_ET2	=	0x00ad
G$PT2$0$0 == 0x00bd
_PT2	=	0x00bd
G$T2CON_0$0$0 == 0x00c8
_T2CON_0	=	0x00c8
G$T2CON_1$0$0 == 0x00c9
_T2CON_1	=	0x00c9
G$T2CON_2$0$0 == 0x00ca
_T2CON_2	=	0x00ca
G$T2CON_3$0$0 == 0x00cb
_T2CON_3	=	0x00cb
G$T2CON_4$0$0 == 0x00cc
_T2CON_4	=	0x00cc
G$T2CON_5$0$0 == 0x00cd
_T2CON_5	=	0x00cd
G$T2CON_6$0$0 == 0x00ce
_T2CON_6	=	0x00ce
G$T2CON_7$0$0 == 0x00cf
_T2CON_7	=	0x00cf
G$CP_RL2$0$0 == 0x00c8
_CP_RL2	=	0x00c8
G$C_T2$0$0 == 0x00c9
_C_T2	=	0x00c9
G$TR2$0$0 == 0x00ca
_TR2	=	0x00ca
G$EXEN2$0$0 == 0x00cb
_EXEN2	=	0x00cb
G$TCLK$0$0 == 0x00cc
_TCLK	=	0x00cc
G$RCLK$0$0 == 0x00cd
_RCLK	=	0x00cd
G$EXF2$0$0 == 0x00ce
_EXF2	=	0x00ce
G$TF2$0$0 == 0x00cf
_TF2	=	0x00cf
G$CF$0$0 == 0x00df
_CF	=	0x00df
G$CR$0$0 == 0x00de
_CR	=	0x00de
G$CCF4$0$0 == 0x00dc
_CCF4	=	0x00dc
G$CCF3$0$0 == 0x00db
_CCF3	=	0x00db
G$CCF2$0$0 == 0x00da
_CCF2	=	0x00da
G$CCF1$0$0 == 0x00d9
_CCF1	=	0x00d9
G$CCF0$0$0 == 0x00d8
_CCF0	=	0x00d8
G$EC$0$0 == 0x00ae
_EC	=	0x00ae
G$PPCL$0$0 == 0x00be
_PPCL	=	0x00be
G$PT2L$0$0 == 0x00bd
_PT2L	=	0x00bd
G$PLS$0$0 == 0x00bc
_PLS	=	0x00bc
G$PT1L$0$0 == 0x00bb
_PT1L	=	0x00bb
G$PX1L$0$0 == 0x00ba
_PX1L	=	0x00ba
G$PT0L$0$0 == 0x00b9
_PT0L	=	0x00b9
G$PX0L$0$0 == 0x00b8
_PX0L	=	0x00b8
G$P4_0$0$0 == 0x00c0
_P4_0	=	0x00c0
G$P4_1$0$0 == 0x00c1
_P4_1	=	0x00c1
G$P4_2$0$0 == 0x00c2
_P4_2	=	0x00c2
G$P4_3$0$0 == 0x00c3
_P4_3	=	0x00c3
G$P4_4$0$0 == 0x00c4
_P4_4	=	0x00c4
G$P4_5$0$0 == 0x00c5
_P4_5	=	0x00c5
G$P4_6$0$0 == 0x00c6
_P4_6	=	0x00c6
G$P4_7$0$0 == 0x00c7
_P4_7	=	0x00c7
G$P5_0$0$0 == 0x00d8
_P5_0	=	0x00d8
G$P5_1$0$0 == 0x00d9
_P5_1	=	0x00d9
G$P5_2$0$0 == 0x00da
_P5_2	=	0x00da
G$P5_3$0$0 == 0x00db
_P5_3	=	0x00db
G$P5_4$0$0 == 0x00dc
_P5_4	=	0x00dc
G$P5_5$0$0 == 0x00dd
_P5_5	=	0x00dd
G$P5_6$0$0 == 0x00de
_P5_6	=	0x00de
G$P5_7$0$0 == 0x00df
_P5_7	=	0x00df
G$BREG_F0$0$0 == 0x00f0
_BREG_F0	=	0x00f0
G$BREG_F1$0$0 == 0x00f1
_BREG_F1	=	0x00f1
G$BREG_F2$0$0 == 0x00f2
_BREG_F2	=	0x00f2
G$BREG_F3$0$0 == 0x00f3
_BREG_F3	=	0x00f3
G$BREG_F4$0$0 == 0x00f4
_BREG_F4	=	0x00f4
G$BREG_F5$0$0 == 0x00f5
_BREG_F5	=	0x00f5
G$BREG_F6$0$0 == 0x00f6
_BREG_F6	=	0x00f6
G$BREG_F7$0$0 == 0x00f7
_BREG_F7	=	0x00f7
G$EX0$0$0 == 0x00a8
_EX0	=	0x00a8
G$ET0$0$0 == 0x00a9
_ET0	=	0x00a9
G$EX1$0$0 == 0x00aa
_EX1	=	0x00aa
G$ET1$0$0 == 0x00ab
_ET1	=	0x00ab
G$ES$0$0 == 0x00ac
_ES	=	0x00ac
G$EA$0$0 == 0x00af
_EA	=	0x00af
G$PX0$0$0 == 0x00b8
_PX0	=	0x00b8
G$PT0$0$0 == 0x00b9
_PT0	=	0x00b9
G$PX1$0$0 == 0x00ba
_PX1	=	0x00ba
G$PT1$0$0 == 0x00bb
_PT1	=	0x00bb
G$PS$0$0 == 0x00bc
_PS	=	0x00bc
G$P0_0$0$0 == 0x0080
_P0_0	=	0x0080
G$P0_1$0$0 == 0x0081
_P0_1	=	0x0081
G$P0_2$0$0 == 0x0082
_P0_2	=	0x0082
G$P0_3$0$0 == 0x0083
_P0_3	=	0x0083
G$P0_4$0$0 == 0x0084
_P0_4	=	0x0084
G$P0_5$0$0 == 0x0085
_P0_5	=	0x0085
G$P0_6$0$0 == 0x0086
_P0_6	=	0x0086
G$P0_7$0$0 == 0x0087
_P0_7	=	0x0087
G$P1_0$0$0 == 0x0090
_P1_0	=	0x0090
G$P1_1$0$0 == 0x0091
_P1_1	=	0x0091
G$P1_2$0$0 == 0x0092
_P1_2	=	0x0092
G$P1_3$0$0 == 0x0093
_P1_3	=	0x0093
G$P1_4$0$0 == 0x0094
_P1_4	=	0x0094
G$P1_5$0$0 == 0x0095
_P1_5	=	0x0095
G$P1_6$0$0 == 0x0096
_P1_6	=	0x0096
G$P1_7$0$0 == 0x0097
_P1_7	=	0x0097
G$P2_0$0$0 == 0x00a0
_P2_0	=	0x00a0
G$P2_1$0$0 == 0x00a1
_P2_1	=	0x00a1
G$P2_2$0$0 == 0x00a2
_P2_2	=	0x00a2
G$P2_3$0$0 == 0x00a3
_P2_3	=	0x00a3
G$P2_4$0$0 == 0x00a4
_P2_4	=	0x00a4
G$P2_5$0$0 == 0x00a5
_P2_5	=	0x00a5
G$P2_6$0$0 == 0x00a6
_P2_6	=	0x00a6
G$P2_7$0$0 == 0x00a7
_P2_7	=	0x00a7
G$P3_0$0$0 == 0x00b0
_P3_0	=	0x00b0
G$P3_1$0$0 == 0x00b1
_P3_1	=	0x00b1
G$P3_2$0$0 == 0x00b2
_P3_2	=	0x00b2
G$P3_3$0$0 == 0x00b3
_P3_3	=	0x00b3
G$P3_4$0$0 == 0x00b4
_P3_4	=	0x00b4
G$P3_5$0$0 == 0x00b5
_P3_5	=	0x00b5
G$P3_6$0$0 == 0x00b6
_P3_6	=	0x00b6
G$P3_7$0$0 == 0x00b7
_P3_7	=	0x00b7
G$RXD$0$0 == 0x00b0
_RXD	=	0x00b0
G$RXD0$0$0 == 0x00b0
_RXD0	=	0x00b0
G$TXD$0$0 == 0x00b1
_TXD	=	0x00b1
G$TXD0$0$0 == 0x00b1
_TXD0	=	0x00b1
G$INT0$0$0 == 0x00b2
_INT0	=	0x00b2
G$INT1$0$0 == 0x00b3
_INT1	=	0x00b3
G$T0$0$0 == 0x00b4
_T0	=	0x00b4
G$T1$0$0 == 0x00b5
_T1	=	0x00b5
G$WR$0$0 == 0x00b6
_WR	=	0x00b6
G$RD$0$0 == 0x00b7
_RD	=	0x00b7
G$P$0$0 == 0x00d0
_P	=	0x00d0
G$F1$0$0 == 0x00d1
_F1	=	0x00d1
G$OV$0$0 == 0x00d2
_OV	=	0x00d2
G$RS0$0$0 == 0x00d3
_RS0	=	0x00d3
G$RS1$0$0 == 0x00d4
_RS1	=	0x00d4
G$F0$0$0 == 0x00d5
_F0	=	0x00d5
G$AC$0$0 == 0x00d6
_AC	=	0x00d6
G$CY$0$0 == 0x00d7
_CY	=	0x00d7
G$RI$0$0 == 0x0098
_RI	=	0x0098
G$TI$0$0 == 0x0099
_TI	=	0x0099
G$RB8$0$0 == 0x009a
_RB8	=	0x009a
G$TB8$0$0 == 0x009b
_TB8	=	0x009b
G$REN$0$0 == 0x009c
_REN	=	0x009c
G$SM2$0$0 == 0x009d
_SM2	=	0x009d
G$SM1$0$0 == 0x009e
_SM1	=	0x009e
G$SM0$0$0 == 0x009f
_SM0	=	0x009f
G$IT0$0$0 == 0x0088
_IT0	=	0x0088
G$IE0$0$0 == 0x0089
_IE0	=	0x0089
G$IT1$0$0 == 0x008a
_IT1	=	0x008a
G$IE1$0$0 == 0x008b
_IE1	=	0x008b
G$TR0$0$0 == 0x008c
_TR0	=	0x008c
G$TF0$0$0 == 0x008d
_TF0	=	0x008d
G$TR1$0$0 == 0x008e
_TR1	=	0x008e
G$TF1$0$0 == 0x008f
_TF1	=	0x008f
;--------------------------------------------------------
; overlayable register banks
;--------------------------------------------------------
	.area REG_BANK_0	(REL,OVR,DATA)
	.ds 8
;--------------------------------------------------------
; internal ram data
;--------------------------------------------------------
	.area DSEG    (DATA)
Lgetstr$sloc0$1$0==.
_getstr_sloc0_1_0:
	.ds 3
Lhtoi$sloc0$1$0==.
_htoi_sloc0_1_0:
	.ds 3
;--------------------------------------------------------
; overlayable items in internal ram 
;--------------------------------------------------------
	.area OSEG    (OVR,DATA)
;--------------------------------------------------------
; Stack segment in internal ram 
;--------------------------------------------------------
	.area	SSEG	(DATA)
__start__stack:
	.ds	1

;--------------------------------------------------------
; indirectly addressable internal ram data
;--------------------------------------------------------
	.area ISEG    (DATA)
;--------------------------------------------------------
; bit data
;--------------------------------------------------------
	.area BSEG    (BIT)
Lmain$sloc0$1$0==.
_main_sloc0_1_0:
	.ds 1
;--------------------------------------------------------
; paged external ram data
;--------------------------------------------------------
	.area PSEG    (PAG,XDATA)
;--------------------------------------------------------
; external ram data
;--------------------------------------------------------
	.area XSEG    (XDATA)
Lputchar$c$1$1==.
_putchar_c_1_1:
	.ds 1
Lputstr$s$1$1==.
_putstr_s_1_1:
	.ds 3
Lgetstr$s$1$1==.
_getstr_s_1_1:
	.ds 3
LserialInit$br$1$1==.
_serialInit_br_1_1:
	.ds 2
LmyDelay$j$1$1==.
_myDelay_j_1_1:
	.ds 2
Lhexalpha_to_int$c$1$1==.
_hexalpha_to_int_c_1_1:
	.ds 2
Lhexalpha_to_int$hexalpha$1$1==.
_hexalpha_to_int_hexalpha_1_1:
	.ds 13
Lhexalpha_to_int$answer$1$1==.
_hexalpha_to_int_answer_1_1:
	.ds 2
Lhtoi$s$1$1==.
_htoi_s_1_1:
	.ds 3
Lhtoi$answer$1$1==.
_htoi_answer_1_1:
	.ds 2
Lhtoi$i$1$1==.
_htoi_i_1_1:
	.ds 2
Lhtoi$valid$1$1==.
_htoi_valid_1_1:
	.ds 2
LgetInput$retStr$1$1==.
_getInput_PARM_2:
	.ds 3
LgetInput$sz_retStr$1$1==.
_getInput_PARM_3:
	.ds 2
LgetInput$f_clear$1$1==.
_getInput_PARM_4:
	.ds 2
LgetInput$f_noWait$1$1==.
_getInput_PARM_5:
	.ds 2
LgetInput$prompt$1$1==.
_getInput_prompt_1_1:
	.ds 3
LgetInput$conv$1$1==.
_getInput_conv_1_1:
	.ds 2
LgetInput$tmp$1$1==.
_getInput_tmp_1_1:
	.ds 2
Lmain$buf1$1$1==.
_main_buf1_1_1:
	.ds 65
Lmain$ipString$1$1==.
_main_ipString_1_1:
	.ds 6
Lmain$ipStringLarge$1$1==.
_main_ipStringLarge_1_1:
	.ds 100
Lmain$lcdLineTracker$1$1==.
_main_lcdLineTracker_1_1:
	.ds 2
Lmain$byteIdx$1$1==.
_main_byteIdx_1_1:
	.ds 2
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
	.area XISEG   (XDATA)
	.area HOME    (CODE)
	.area GSINIT0 (CODE)
	.area GSINIT1 (CODE)
	.area GSINIT2 (CODE)
	.area GSINIT3 (CODE)
	.area GSINIT4 (CODE)
	.area GSINIT5 (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area CSEG    (CODE)
;--------------------------------------------------------
; interrupt vector 
;--------------------------------------------------------
	.area HOME    (CODE)
__interrupt_vect:
	ljmp	__sdcc_gsinit_startup
	reti
	.ds	7
	reti
	.ds	7
	reti
	.ds	7
	ljmp	_timer_1_isr
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
	.area HOME    (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area GSINIT  (CODE)
	.globl __sdcc_gsinit_startup
	.globl __sdcc_program_startup
	.globl __start__stack
	.globl __mcs51_genXINIT
	.globl __mcs51_genXRAMCLEAR
	.globl __mcs51_genRAMCLEAR
	.area GSFINAL (CODE)
	ljmp	__sdcc_program_startup
;--------------------------------------------------------
; Home
;--------------------------------------------------------
	.area HOME    (CODE)
	.area CSEG    (CODE)
__sdcc_program_startup:
	lcall	_main
;	return from main will lock up
	sjmp .
;--------------------------------------------------------
; code
;--------------------------------------------------------
	.area CSEG    (CODE)
;------------------------------------------------------------
;Allocation info for local variables in function '_sdcc_external_startup'
;------------------------------------------------------------
;------------------------------------------------------------
	G$_sdcc_external_startup$0$0 ==.
	C$main.c$84$0$0 ==.
;	../src/main.c:84: _sdcc_external_startup() {
;	-----------------------------------------
;	 function _sdcc_external_startup
;	-----------------------------------------
__sdcc_external_startup:
	ar2 = 0x02
	ar3 = 0x03
	ar4 = 0x04
	ar5 = 0x05
	ar6 = 0x06
	ar7 = 0x07
	ar0 = 0x00
	ar1 = 0x01
	C$main.c$86$1$1 ==.
;	../src/main.c:86: AUXR |= 0x0C;
;	genOr
	orl	_AUXR,#0x0C
	C$main.c$87$1$1 ==.
;	../src/main.c:87: AUXR &= 0x7F;
;	genAnd
	anl	_AUXR,#0x7F
	C$main.c$88$1$1 ==.
;	../src/main.c:88: return 0;
;	genRet
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0000
;	Peephole 300	removed redundant label 00101$
	C$main.c$89$1$1 ==.
	XG$_sdcc_external_startup$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'putchar'
;------------------------------------------------------------
;c                         Allocated with name '_putchar_c_1_1'
;------------------------------------------------------------
	G$putchar$0$0 ==.
	C$main.c$109$1$1 ==.
;	../src/main.c:109: void putchar (char c) {
;	-----------------------------------------
;	 function putchar
;	-----------------------------------------
_putchar:
;	genReceive
	mov	a,dpl
	mov	dptr,#_putchar_c_1_1
	movx	@dptr,a
	C$main.c$110$1$1 ==.
;	../src/main.c:110: SBUF = c;  	                // load serial port with transmit value
;	genAssign
	mov	dptr,#_putchar_c_1_1
	movx	a,@dptr
	mov	_SBUF,a
	C$main.c$111$1$1 ==.
;	../src/main.c:111: while (!TI);	            // check T1 flag
00101$:
;	genIfx
;	genIfxJump
;	Peephole 108.d	removed ljmp by inverse jump logic
	C$main.c$112$1$1 ==.
;	../src/main.c:112: TI = 0;  	                // clear TI flag
;	genAssign
;	Peephole 250.a	using atomic test and clear
	jbc	_TI,00108$
	sjmp	00101$
00108$:
;	Peephole 300	removed redundant label 00104$
	C$main.c$113$1$1 ==.
	XG$putchar$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'getchar'
;------------------------------------------------------------
;------------------------------------------------------------
	G$getchar$0$0 ==.
	C$main.c$134$1$1 ==.
;	../src/main.c:134: char getchar () {
;	-----------------------------------------
;	 function getchar
;	-----------------------------------------
_getchar:
	C$main.c$135$1$1 ==.
;	../src/main.c:135: while (!RI);                // compare asm code generated for these three lines
00101$:
;	genIfx
;	genIfxJump
;	Peephole 108.d	removed ljmp by inverse jump logic
	C$main.c$136$1$1 ==.
;	../src/main.c:136: RI = 0;			            // clear RI flag
;	genAssign
;	Peephole 250.a	using atomic test and clear
	jbc	_RI,00108$
	sjmp	00101$
00108$:
	C$main.c$137$1$1 ==.
;	../src/main.c:137: return SBUF;  	            // return character from SBUF
;	genAssign
	mov	r2,_SBUF
;	genRet
	mov	dpl,r2
;	Peephole 300	removed redundant label 00104$
	C$main.c$138$1$1 ==.
	XG$getchar$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'putstr'
;------------------------------------------------------------
;s                         Allocated with name '_putstr_s_1_1'
;i                         Allocated with name '_putstr_i_1_1'
;------------------------------------------------------------
	G$putstr$0$0 ==.
	C$main.c$157$1$1 ==.
;	../src/main.c:157: int putstr (char *s) {
;	-----------------------------------------
;	 function putstr
;	-----------------------------------------
_putstr:
;	genReceive
	mov	r2,b
	mov	r3,dph
	mov	a,dpl
	mov	dptr,#_putstr_s_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$160$1$1 ==.
;	../src/main.c:160: while (*s){									// output characters until NULL found
;	genAssign
	mov	dptr,#_putstr_s_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genAssign
	mov	r5,#0x00
	mov	r6,#0x00
00101$:
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
;	genIfx
	mov	r7,a
;	Peephole 105	removed redundant mov
;	genIfxJump
;	Peephole 108.c	removed ljmp by inverse jump logic
	jz	00108$
;	Peephole 300	removed redundant label 00109$
	C$main.c$161$2$2 ==.
;	../src/main.c:161: putchar(*s++);
;	genAssign
;	genPlus
;     genPlusIncr
	inc	r2
	cjne	r2,#0x00,00110$
	inc	r3
00110$:
;	genAssign
	mov	dptr,#_putstr_s_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;	genCall
	mov	dpl,r7
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	lcall	_putchar
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$162$2$2 ==.
;	../src/main.c:162: i++;
;	genPlus
;     genPlusIncr
;	tail increment optimized (range 8)
	inc	r5
	cjne	r5,#0x00,00101$
	inc	r6
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00101$
00108$:
;	genAssign
	mov	dptr,#_putstr_s_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
	C$main.c$165$1$1 ==.
;	../src/main.c:165: return i+1;
;	genPlus
;     genPlusIncr
	inc	r5
	cjne	r5,#0x00,00111$
	inc	r6
00111$:
;	genRet
	mov	dpl,r5
	mov	dph,r6
;	Peephole 300	removed redundant label 00104$
	C$main.c$166$1$1 ==.
	XG$putstr$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'getstr'
;------------------------------------------------------------
;sloc0                     Allocated with name '_getstr_sloc0_1_0'
;s                         Allocated with name '_getstr_s_1_1'
;i                         Allocated with name '_getstr_i_1_1'
;------------------------------------------------------------
	G$getstr$0$0 ==.
	C$main.c$190$1$1 ==.
;	../src/main.c:190: int getstr (char *s) {
;	-----------------------------------------
;	 function getstr
;	-----------------------------------------
_getstr:
;	genReceive
	mov	r2,b
	mov	r3,dph
	mov	a,dpl
	mov	dptr,#_getstr_s_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$193$2$2 ==.
;	../src/main.c:193: do {
;	genAssign
	mov	dptr,#_getstr_s_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genAssign
	mov	r5,#0x00
	mov	r6,#0x00
00101$:
	C$main.c$194$2$2 ==.
;	../src/main.c:194: s[i] = getchar();
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	_getstr_sloc0_1_0,a
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	mov	(_getstr_sloc0_1_0 + 1),a
	mov	(_getstr_sloc0_1_0 + 2),r4
;	genCall
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	lcall	_getchar
	mov	r7,dpl
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;	genPointerSet
;	genGenPointerSet
	mov	dpl,_getstr_sloc0_1_0
	mov	dph,(_getstr_sloc0_1_0 + 1)
	mov	b,(_getstr_sloc0_1_0 + 2)
	mov	a,r7
	lcall	__gptrput
	C$main.c$195$2$2 ==.
;	../src/main.c:195: putchar(s[i]);
;	genCall
	mov	dpl,r7
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	lcall	_putchar
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$196$2$2 ==.
;	../src/main.c:196: i++;
;	genPlus
;     genPlusIncr
	inc	r5
	cjne	r5,#0x00,00109$
	inc	r6
00109$:
	C$main.c$197$1$1 ==.
;	../src/main.c:197: } while(s[i-1] != 0x0D);  					//0x0D is <CR>
;	genMinus
;	genMinusDec
	mov	a,r5
	add	a,#0xff
	mov	r7,a
	mov	a,r6
	addc	a,#0xff
	mov	r0,a
;	genPlus
;	Peephole 236.g	used r7 instead of ar7
	mov	a,r7
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	r7,a
;	Peephole 236.g	used r0 instead of ar0
	mov	a,r0
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	mov	r0,a
	mov	ar1,r4
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r7
	mov	dph,r0
	mov	b,r1
	lcall	__gptrget
	mov	r7,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r7,#0x0D,00101$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00110$
;	Peephole 300	removed redundant label 00111$
	C$main.c$198$1$1 ==.
;	../src/main.c:198: s[i-1] = 0x00;								//replace <CR> with NULL (0x00)
;	genMinus
;	genMinusDec
	dec	r5
	cjne	r5,#0xff,00112$
	dec	r6
00112$:
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
;	Peephole 236.a	used r2 instead of ar2
	add	a,r2
	mov	r2,a
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
;	Peephole 236.b	used r3 instead of ar3
	addc	a,r3
	mov	r3,a
;	genPointerSet
;	genGenPointerSet
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
;	Peephole 181	changed mov to clr
	clr	a
	lcall	__gptrput
	C$main.c$199$1$1 ==.
;	../src/main.c:199: putchar('\n\r');
;	genCall
	mov	dpl,#0x0A
	push	ar5
	push	ar6
	lcall	_putchar
	pop	ar6
	pop	ar5
	C$main.c$200$1$1 ==.
;	../src/main.c:200: return (i-1);
;	genRet
	mov	dpl,r5
	mov	dph,r6
;	Peephole 300	removed redundant label 00104$
	C$main.c$201$1$1 ==.
	XG$getstr$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'serialInit'
;------------------------------------------------------------
;br                        Allocated with name '_serialInit_br_1_1'
;------------------------------------------------------------
	G$serialInit$0$0 ==.
	C$main.c$220$1$1 ==.
;	../src/main.c:220: void serialInit(int br) {
;	-----------------------------------------
;	 function serialInit
;	-----------------------------------------
_serialInit:
	C$main.c$222$1$1 ==.
;	../src/main.c:222: br=0;
;	genAssign
	mov	dptr,#_serialInit_br_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$223$1$1 ==.
;	../src/main.c:223: EA = 0;
;	genAssign
	clr	_EA
	C$main.c$224$1$1 ==.
;	../src/main.c:224: SCON = 0x50;					  			/* uart in mode 1 (8 bit), REN=1 */
;	genAssign
	mov	_SCON,#0x50
	C$main.c$225$1$1 ==.
;	../src/main.c:225: T2CON &= 0xDC;               				/* EXEN2=0; TR2=0; C/T2#=0; CP/RL2#=0; */
;	genAnd
	anl	_T2CON,#0xDC
	C$main.c$226$1$1 ==.
;	../src/main.c:226: T2CON |= 0x30;               				/* RCLK = 1; TCLK=1; */
;	genOr
	orl	_T2CON,#0x30
	C$main.c$227$1$1 ==.
;	../src/main.c:227: RCAP2H = 0xFF;                 				/* reload value, 115200 Bds at 11.059MHz */
;	genAssign
	mov	_RCAP2H,#0xFF
	C$main.c$228$1$1 ==.
;	../src/main.c:228: RCAP2L = 0xFD;
;	genAssign
	mov	_RCAP2L,#0xFD
	C$main.c$229$1$1 ==.
;	../src/main.c:229: TI = 0;
;	genAssign
	clr	_TI
	C$main.c$230$1$1 ==.
;	../src/main.c:230: RI = 0;
;	genAssign
	clr	_RI
	C$main.c$231$1$1 ==.
;	../src/main.c:231: ES = 0;  				   					//for serial transmission
;	genAssign
	clr	_ES
	C$main.c$232$1$1 ==.
;	../src/main.c:232: ET2 = 0;
;	genAssign
	clr	_ET2
	C$main.c$233$1$1 ==.
;	../src/main.c:233: TR2 = 1;  									//Timer 2 start
;	genAssign
	setb	_TR2
	C$main.c$234$1$1 ==.
;	../src/main.c:234: EA = 1;
;	genAssign
	setb	_EA
;	Peephole 300	removed redundant label 00101$
	C$main.c$236$1$1 ==.
	XG$serialInit$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'initAll'
;------------------------------------------------------------
;i                         Allocated with name '_initAll_i_1_1'
;------------------------------------------------------------
	G$initAll$0$0 ==.
	C$main.c$252$1$1 ==.
;	../src/main.c:252: void initAll() {
;	-----------------------------------------
;	 function initAll
;	-----------------------------------------
_initAll:
	C$main.c$256$1$1 ==.
;	../src/main.c:256: EA = 1;
;	genAssign
	setb	_EA
;	Peephole 300	removed redundant label 00101$
	C$main.c$257$1$1 ==.
	XG$initAll$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'clearScr'
;------------------------------------------------------------
;------------------------------------------------------------
	G$clearScr$0$0 ==.
	C$main.c$278$1$1 ==.
;	../src/main.c:278: void clearScr() {
;	-----------------------------------------
;	 function clearScr
;	-----------------------------------------
_clearScr:
	C$main.c$279$1$1 ==.
;	../src/main.c:279: printf("\033c");			//reset terminal
;	genIpush
	mov	a,#__str_0
	push	acc
	mov	a,#(__str_0 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$280$1$1 ==.
;	../src/main.c:280: printf("\033[2J");			//clear screen
;	genIpush
	mov	a,#__str_1
	push	acc
	mov	a,#(__str_1 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
;	Peephole 300	removed redundant label 00101$
	C$main.c$281$1$1 ==.
	XG$clearScr$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'myDelay'
;------------------------------------------------------------
;j                         Allocated with name '_myDelay_j_1_1'
;i                         Allocated with name '_myDelay_i_1_1'
;cnt                       Allocated with name '_myDelay_cnt_1_1'
;------------------------------------------------------------
	G$myDelay$0$0 ==.
	C$main.c$297$1$1 ==.
;	../src/main.c:297: void myDelay(int j) {
;	-----------------------------------------
;	 function myDelay
;	-----------------------------------------
_myDelay:
;	genReceive
	mov	r2,dph
	mov	a,dpl
	mov	dptr,#_myDelay_j_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$301$1$1 ==.
;	../src/main.c:301: j*=100;
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	dptr,#__mulint_PARM_2
	mov	a,#0x64
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	lcall	__mulint
	mov	a,dpl
	mov	b,dph
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,b
	movx	@dptr,a
	C$main.c$302$1$1 ==.
;	../src/main.c:302: while(j) {
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
00101$:
;	genIfx
	mov	a,r2
	orl	a,r3
;	genIfxJump
	jnz	00169$
	ljmp	00168$
00169$:
	C$main.c$303$1$1 ==.
;	../src/main.c:303: for(i=0; i<100; i++);
;	genAssign
	mov	r4,#0x64
	mov	r5,#0x00
00106$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00170$
	dec	r5
00170$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$304$1$1 ==.
;	../src/main.c:304: for(i=0; i<100; i++);
;	genAssign
	jnz	00106$
;	Peephole 300	removed redundant label 00171$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00109$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00172$
	dec	r5
00172$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$305$1$1 ==.
;	../src/main.c:305: for(i=0; i<100; i++);
;	genAssign
	jnz	00109$
;	Peephole 300	removed redundant label 00173$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00112$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00174$
	dec	r5
00174$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$306$1$1 ==.
;	../src/main.c:306: for(i=0; i<100; i++);
;	genAssign
	jnz	00112$
;	Peephole 300	removed redundant label 00175$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00115$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00176$
	dec	r5
00176$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$307$1$1 ==.
;	../src/main.c:307: for(i=0; i<100; i++);
;	genAssign
	jnz	00115$
;	Peephole 300	removed redundant label 00177$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00118$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00178$
	dec	r5
00178$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$308$1$1 ==.
;	../src/main.c:308: for(i=0; i<100; i++);
;	genAssign
	jnz	00118$
;	Peephole 300	removed redundant label 00179$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00121$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00180$
	dec	r5
00180$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$309$1$1 ==.
;	../src/main.c:309: for(i=0; i<100; i++);
;	genAssign
	jnz	00121$
;	Peephole 300	removed redundant label 00181$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00124$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00182$
	dec	r5
00182$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$310$1$1 ==.
;	../src/main.c:310: for(i=0; i<100; i++);
;	genAssign
	jnz	00124$
;	Peephole 300	removed redundant label 00183$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00127$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00184$
	dec	r5
00184$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$311$1$1 ==.
;	../src/main.c:311: for(i=0; i<100; i++);
;	genAssign
	jnz	00127$
;	Peephole 300	removed redundant label 00185$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00130$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00186$
	dec	r5
00186$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	C$main.c$312$1$1 ==.
;	../src/main.c:312: for(i=0; i<100; i++);
;	genAssign
	jnz	00130$
;	Peephole 300	removed redundant label 00187$
	mov	r4,#0x64
;	Peephole 256.d	loading r5 with zero from a
	mov	r5,a
00133$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00188$
	dec	r5
00188$:
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00133$
;	Peephole 300	removed redundant label 00189$
	C$main.c$313$2$2 ==.
;	../src/main.c:313: j--;
;	genMinus
;	genMinusDec
	dec	r2
	cjne	r2,#0xff,00190$
	dec	r3
00190$:
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	ljmp	00101$
00168$:
;	genAssign
	mov	dptr,#_myDelay_j_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
;	Peephole 300	removed redundant label 00134$
	C$main.c$315$1$1 ==.
	XG$myDelay$0$0 ==.
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'hexalpha_to_int'
;------------------------------------------------------------
;c                         Allocated with name '_hexalpha_to_int_c_1_1'
;hexalpha                  Allocated with name '_hexalpha_to_int_hexalpha_1_1'
;i                         Allocated with name '_hexalpha_to_int_i_1_1'
;answer                    Allocated with name '_hexalpha_to_int_answer_1_1'
;------------------------------------------------------------
	G$hexalpha_to_int$0$0 ==.
	C$main.c$337$1$1 ==.
;	../src/main.c:337: int hexalpha_to_int(int c)
;	-----------------------------------------
;	 function hexalpha_to_int
;	-----------------------------------------
_hexalpha_to_int:
;	genReceive
	mov	r2,dph
	mov	a,dpl
	mov	dptr,#_hexalpha_to_int_c_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$339$1$1 ==.
;	../src/main.c:339: char hexalpha[] = "aAbBcCdDeEfF";
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#_hexalpha_to_int_hexalpha_1_1
	mov	a,#0x61
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0001)
	mov	a,#0x41
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0002)
	mov	a,#0x62
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0003)
	mov	a,#0x42
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0004)
	mov	a,#0x63
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0005)
	mov	a,#0x43
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0006)
	mov	a,#0x64
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0007)
	mov	a,#0x44
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0008)
	mov	a,#0x65
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x0009)
	mov	a,#0x45
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x000a)
	mov	a,#0x66
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x000b)
	mov	a,#0x46
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_hexalpha_to_int_hexalpha_1_1 + 0x000c)
;	Peephole 181	changed mov to clr
	C$main.c$341$1$1 ==.
;	../src/main.c:341: int answer = 0;
;	genAssign
;	Peephole 219.a	removed redundant clear
	clr	a
	movx	@dptr,a
	mov	dptr,#_hexalpha_to_int_answer_1_1
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$343$2$2 ==.
;	../src/main.c:343: for(i = 0; answer == 0 && hexalpha[i] != '\0'; i++)
;	genAssign
	mov	dptr,#_hexalpha_to_int_c_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	r4,#0x00
	mov	r5,#0x00
00104$:
;	genAssign
	mov	dptr,#_hexalpha_to_int_answer_1_1
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r6,#0x00,00107$
	cjne	r7,#0x00,00107$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00115$
;	Peephole 300	removed redundant label 00116$
;	genPlus
;	Peephole 236.g	used r4 instead of ar4
	mov	a,r4
	add	a,#_hexalpha_to_int_hexalpha_1_1
	mov	dpl,a
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	addc	a,#(_hexalpha_to_int_hexalpha_1_1 >> 8)
	mov	dph,a
;	genPointerGet
;	genFarPointerGet
	movx	a,@dptr
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
	mov	r6,a
;	Peephole 115.b	jump optimization
	jz	00107$
;	Peephole 300	removed redundant label 00117$
	C$main.c$345$2$2 ==.
;	../src/main.c:345: if(hexalpha[i] == c)
;	genCast
	mov	a,r6
	rlc	a
	subb	a,acc
	mov	r7,a
;	genCmpEq
;	gencjneshort
	mov	a,r6
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 197.b	optimized misc jump sequence
	cjne	a,ar2,00106$
	mov	a,r7
	cjne	a,ar3,00106$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00118$
;	Peephole 300	removed redundant label 00119$
	C$main.c$347$1$1 ==.
;	../src/main.c:347: answer = 10 + (i / 2);
;	genAssign
	mov	dptr,#__divsint_PARM_2
	mov	a,#0x02
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genCall
	mov	dpl,r4
	mov	dph,r5
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	lcall	__divsint
	mov	a,dpl
	mov	b,dph
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;	genPlus
	mov	dptr,#_hexalpha_to_int_answer_1_1
;     genPlusIncr
	add	a,#0x0A
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
	addc	a,b
	inc	dptr
	movx	@dptr,a
00106$:
	C$main.c$343$1$1 ==.
;	../src/main.c:343: for(i = 0; answer == 0 && hexalpha[i] != '\0'; i++)
;	genPlus
;     genPlusIncr
	inc	r4
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 243	avoided branch to sjmp
	cjne	r4,#0x00,00104$
	inc	r5
;	Peephole 300	removed redundant label 00120$
	sjmp	00104$
00107$:
	C$main.c$351$1$1 ==.
;	../src/main.c:351: return answer;
;	genAssign
	mov	dptr,#_hexalpha_to_int_answer_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genRet
	C$main.c$352$1$1 ==.
	XG$hexalpha_to_int$0$0 ==.
;	Peephole 234.b	loading dph directly from a(ccumulator), r3 not set
	mov	dpl,r2
	mov	dph,a
;	Peephole 300	removed redundant label 00108$
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'htoi'
;------------------------------------------------------------
;sloc0                     Allocated with name '_htoi_sloc0_1_0'
;s                         Allocated with name '_htoi_s_1_1'
;answer                    Allocated with name '_htoi_answer_1_1'
;i                         Allocated with name '_htoi_i_1_1'
;valid                     Allocated with name '_htoi_valid_1_1'
;hexit                     Allocated with name '_htoi_hexit_1_1'
;------------------------------------------------------------
	G$htoi$0$0 ==.
	C$main.c$374$1$1 ==.
;	../src/main.c:374: unsigned int htoi(const char s[])
;	-----------------------------------------
;	 function htoi
;	-----------------------------------------
_htoi:
;	genReceive
	mov	r2,b
	mov	r3,dph
	mov	a,dpl
	mov	dptr,#_htoi_s_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$376$1$1 ==.
;	../src/main.c:376: unsigned int answer = 0;
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$377$1$1 ==.
;	../src/main.c:377: int i = 0;
;	genAssign
	mov	dptr,#_htoi_i_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$378$1$1 ==.
;	../src/main.c:378: int valid = 1;
;	genAssign
	mov	dptr,#_htoi_valid_1_1
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$main.c$381$1$1 ==.
;	../src/main.c:381: if(s[i] == '0')
;	genAssign
	mov	dptr,#_htoi_s_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r5,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r5,#0x30,00128$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00131$
;	Peephole 300	removed redundant label 00132$
	C$main.c$383$2$2 ==.
;	../src/main.c:383: ++i;
;	genAssign
	mov	dptr,#_htoi_i_1_1
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$main.c$384$2$2 ==.
;	../src/main.c:384: if(s[i] == 'x' || s[i] == 'X')
;	genPlus
;     genPlusIncr
	inc	r2
	cjne	r2,#0x00,00133$
	inc	r3
00133$:
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
;	genCmpEq
;	gencjneshort
	cjne	r2,#0x78,00134$
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00101$
00134$:
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.b	optimized misc jump sequence
	cjne	r2,#0x58,00128$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00135$
;	Peephole 300	removed redundant label 00136$
00101$:
	C$main.c$386$3$3 ==.
;	../src/main.c:386: ++i;
;	genAssign
	mov	dptr,#_htoi_i_1_1
	mov	a,#0x02
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
	C$main.c$390$1$1 ==.
;	../src/main.c:390: while(valid && s[i] != '\0')
00128$:
;	genAssign
	mov	dptr,#_htoi_s_1_1
	movx	a,@dptr
	mov	_htoi_sloc0_1_0,a
	inc	dptr
	movx	a,@dptr
	mov	(_htoi_sloc0_1_0 + 1),a
	inc	dptr
	movx	a,@dptr
	mov	(_htoi_sloc0_1_0 + 2),a
;	genAssign
	mov	dptr,#_htoi_i_1_1
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
00114$:
;	genAssign
	mov	dptr,#_htoi_valid_1_1
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
;	genIfx
	mov	r0,a
;	Peephole 135	removed redundant mov
	orl	a,r7
;	genIfxJump
	jnz	00137$
	ljmp	00116$
00137$:
;	genAssign
	mov	dptr,#_htoi_s_1_1
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
	mov	r1,a
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
;	Peephole 236.a	used r7 instead of ar7
	add	a,r7
	mov	r7,a
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
;	Peephole 236.b	used r0 instead of ar0
	addc	a,r0
	mov	r0,a
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r7
	mov	dph,r0
	mov	b,r1
	lcall	__gptrget
	mov	r7,a
;	genCmpEq
;	gencjneshort
	cjne	r7,#0x00,00138$
	ljmp	00116$
00138$:
	C$main.c$392$2$4 ==.
;	../src/main.c:392: answer = answer * 16;
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	movx	a,@dptr
	mov	r0,a
	inc	dptr
	movx	a,@dptr
;	genLeftShift
;	genLeftShiftLiteral
;	genlshTwo
	mov	r1,a
;	Peephole 105	removed redundant mov
	swap	a
	anl	a,#0xf0
	xch	a,r0
	swap	a
	xch	a,r0
	xrl	a,r0
	xch	a,r0
	anl	a,#0xf0
	xch	a,r0
	xrl	a,r0
	mov	r1,a
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	mov	a,r0
	movx	@dptr,a
	inc	dptr
	mov	a,r1
	movx	@dptr,a
	C$main.c$393$2$4 ==.
;	../src/main.c:393: if(s[i] >= '0' && s[i] <= '9')
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r7
	xrl	a,#0x80
	subb	a,#0xb0
;	genIfxJump
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 160.a	removed sjmp by inverse jump logic
;	genCmpGt
;	genCmp
	jc	00110$
;	Peephole 300	removed redundant label 00139$
;	Peephole 256.a	removed redundant clr c
;	Peephole 159	avoided xrl during execution
	mov	a,#(0x39 ^ 0x80)
	mov	b,r7
	xrl	b,#0x80
	subb	a,b
;	genIfxJump
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 160.a	removed sjmp by inverse jump logic
	jc	00110$
;	Peephole 300	removed redundant label 00140$
	C$main.c$395$1$1 ==.
;	../src/main.c:395: answer = answer + (s[i] - '0');
;	genIpush
;	genCast
	mov	a,r7
	rlc	a
	subb	a,acc
	mov	r0,a
;	genMinus
	mov	a,r7
	add	a,#0xd0
	mov	r7,a
	mov	a,r0
	addc	a,#0xff
	mov	r0,a
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	movx	a,@dptr
	mov	r1,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
;	genPlus
	mov	dptr,#_htoi_answer_1_1
;	Peephole 236.g	used r7 instead of ar7
	mov	a,r7
;	Peephole 236.a	used r1 instead of ar1
	add	a,r1
	movx	@dptr,a
;	Peephole 236.g	used r0 instead of ar0
	mov	a,r0
;	Peephole 236.b	used r2 instead of ar2
	addc	a,r2
	inc	dptr
	movx	@dptr,a
;	genIpop
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00111$
00110$:
	C$main.c$399$3$6 ==.
;	../src/main.c:399: hexit = hexalpha_to_int(s[i]);
;	genPlus
;	Peephole 236.g	used r5 instead of ar5
	mov	a,r5
	add	a,_htoi_sloc0_1_0
	mov	r7,a
;	Peephole 236.g	used r6 instead of ar6
	mov	a,r6
	addc	a,(_htoi_sloc0_1_0 + 1)
	mov	r0,a
	mov	r1,(_htoi_sloc0_1_0 + 2)
;	genPointerGet
;	genGenPointerGet
	mov	dpl,r7
	mov	dph,r0
	mov	b,r1
	lcall	__gptrget
;	genCast
	mov	r7,a
;	Peephole 105	removed redundant mov
	rlc	a
	subb	a,acc
	mov	r0,a
;	genCall
	mov	dpl,r7
	mov	dph,r0
	push	ar5
	push	ar6
	lcall	_hexalpha_to_int
	mov	r7,dpl
	mov	r0,dph
	pop	ar6
	pop	ar5
	C$main.c$400$3$6 ==.
;	../src/main.c:400: if(hexit == 0)
;	genIfx
	mov	a,r7
	orl	a,r0
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00107$
;	Peephole 300	removed redundant label 00141$
	C$main.c$402$4$7 ==.
;	../src/main.c:402: valid = 0;
;	genAssign
	mov	dptr,#_htoi_valid_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00111$
00107$:
	C$main.c$406$4$8 ==.
;	../src/main.c:406: answer = answer + hexit;
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	movx	a,@dptr
	mov	r1,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
;	genPlus
	mov	dptr,#_htoi_answer_1_1
;	Peephole 236.g	used r7 instead of ar7
	mov	a,r7
;	Peephole 236.a	used r1 instead of ar1
	add	a,r1
	movx	@dptr,a
;	Peephole 236.g	used r0 instead of ar0
	mov	a,r0
;	Peephole 236.b	used r2 instead of ar2
	addc	a,r2
	inc	dptr
	movx	@dptr,a
00111$:
	C$main.c$410$2$4 ==.
;	../src/main.c:410: ++i;
;	genPlus
;     genPlusIncr
	inc	r5
	cjne	r5,#0x00,00142$
	inc	r6
00142$:
	ljmp	00114$
00116$:
	C$main.c$413$1$1 ==.
;	../src/main.c:413: if(!valid)
;	genAssign
	mov	dptr,#_htoi_valid_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genIfx
	mov	r3,a
;	Peephole 135	removed redundant mov
	orl	a,r2
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00118$
;	Peephole 300	removed redundant label 00143$
	C$main.c$415$2$9 ==.
;	../src/main.c:415: answer = STDERR;
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	mov	a,#0x1F
	movx	@dptr,a
	inc	dptr
	mov	a,#0x14
	movx	@dptr,a
00118$:
	C$main.c$418$1$1 ==.
;	../src/main.c:418: return answer;
;	genAssign
	mov	dptr,#_htoi_answer_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genRet
	C$main.c$419$1$1 ==.
	XG$htoi$0$0 ==.
;	Peephole 234.b	loading dph directly from a(ccumulator), r3 not set
	mov	dpl,r2
	mov	dph,a
;	Peephole 300	removed redundant label 00119$
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'menuInvalid'
;------------------------------------------------------------
;------------------------------------------------------------
	G$menuInvalid$0$0 ==.
	C$main.c$441$1$1 ==.
;	../src/main.c:441: void menuInvalid(void) {
;	-----------------------------------------
;	 function menuInvalid
;	-----------------------------------------
_menuInvalid:
	C$main.c$442$1$1 ==.
;	../src/main.c:442: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$443$1$1 ==.
;	../src/main.c:443: putstr("Invalid Entry, Try again! \n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_3
	mov	b,#0x80
	lcall	_putstr
	C$main.c$444$1$1 ==.
;	../src/main.c:444: myDelay(1);
;	genCall
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0001
	C$main.c$445$1$1 ==.
	XG$menuInvalid$0$0 ==.
;	Peephole 253.b	replaced lcall/ret with ljmp
	ljmp	_myDelay
;
;------------------------------------------------------------
;Allocation info for local variables in function 'printMenu'
;------------------------------------------------------------
;------------------------------------------------------------
	G$printMenu$0$0 ==.
	C$main.c$467$1$1 ==.
;	../src/main.c:467: void printMenu() {
;	-----------------------------------------
;	 function printMenu
;	-----------------------------------------
_printMenu:
	C$main.c$468$1$1 ==.
;	../src/main.c:468: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$469$1$1 ==.
;	../src/main.c:469: putstr("************************************WELCOME***********************************\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_4
	mov	b,#0x80
	lcall	_putstr
	C$main.c$470$1$1 ==.
;	../src/main.c:470: putstr("*                                                                            *\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_5
	mov	b,#0x80
	lcall	_putstr
	C$main.c$471$1$1 ==.
;	../src/main.c:471: putstr("*  This program will allow the user to use the EEPROM and control the clock  *\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_6
	mov	b,#0x80
	lcall	_putstr
	C$main.c$472$1$1 ==.
;	../src/main.c:472: putstr("*                                                                            *\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_5
	mov	b,#0x80
	lcall	_putstr
	C$main.c$473$1$1 ==.
;	../src/main.c:473: putstr("******************************************************************************\n\r\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_7
	mov	b,#0x80
	lcall	_putstr
	C$main.c$475$1$1 ==.
;	../src/main.c:475: putstr("1-> Write Byte to EEPROM \n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_8
	mov	b,#0x80
	lcall	_putstr
	C$main.c$476$1$1 ==.
;	../src/main.c:476: putstr("2-> Read Byte from EEPROM\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_9
	mov	b,#0x80
	lcall	_putstr
	C$main.c$477$1$1 ==.
;	../src/main.c:477: putstr("3-> Display data on LCD\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_10
	mov	b,#0x80
	lcall	_putstr
	C$main.c$478$1$1 ==.
;	../src/main.c:478: putstr("4-> EEPROM Hex Dump \n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_11
	mov	b,#0x80
	lcall	_putstr
	C$main.c$479$1$1 ==.
;	../src/main.c:479: putstr("5-> Erase EEPROM \n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_12
	mov	b,#0x80
	lcall	_putstr
	C$main.c$480$1$1 ==.
;	../src/main.c:480: putstr("6-> Reset EEPROM \n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_13
	mov	b,#0x80
	lcall	_putstr
	C$main.c$481$1$1 ==.
;	../src/main.c:481: putstr("7-> Reset Clock \n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_14
	mov	b,#0x80
	lcall	_putstr
	C$main.c$482$1$1 ==.
;	../src/main.c:482: putstr("8-> Start/Stop Clock \n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_15
	mov	b,#0x80
	lcall	_putstr
	C$main.c$483$1$1 ==.
;	../src/main.c:483: putstr("9-> Toggle Enhanced Mode \n\r\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_16
	mov	b,#0x80
	lcall	_putstr
	C$main.c$485$1$1 ==.
;	../src/main.c:485: putstr("******************************************************************************\n\r\n\r");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_7
	mov	b,#0x80
	lcall	_putstr
	C$main.c$487$1$1 ==.
;	../src/main.c:487: putstr("Command > ");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_17
	mov	b,#0x80
	C$main.c$488$1$1 ==.
	XG$printMenu$0$0 ==.
;	Peephole 253.b	replaced lcall/ret with ljmp
	ljmp	_putstr
;
;------------------------------------------------------------
;Allocation info for local variables in function 'getInput'
;------------------------------------------------------------
;retStr                    Allocated with name '_getInput_PARM_2'
;sz_retStr                 Allocated with name '_getInput_PARM_3'
;f_clear                   Allocated with name '_getInput_PARM_4'
;f_noWait                  Allocated with name '_getInput_PARM_5'
;prompt                    Allocated with name '_getInput_prompt_1_1'
;i                         Allocated with name '_getInput_i_1_1'
;ch                        Allocated with name '_getInput_ch_1_1'
;conv                      Allocated with name '_getInput_conv_1_1'
;sz_rc                     Allocated with name '_getInput_sz_rc_1_1'
;tmp                       Allocated with name '_getInput_tmp_1_1'
;------------------------------------------------------------
	G$getInput$0$0 ==.
	C$main.c$511$1$1 ==.
;	../src/main.c:511: int getInput(char *prompt, char *retStr, int sz_retStr, int f_clear, int f_noWait) {			/* if only C allowed parameters to have default values! sigh */
;	-----------------------------------------
;	 function getInput
;	-----------------------------------------
_getInput:
;	genReceive
	mov	r2,b
	mov	r3,dph
	mov	a,dpl
	mov	dptr,#_getInput_prompt_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r2
	movx	@dptr,a
	C$main.c$517$1$1 ==.
;	../src/main.c:517: char tmp[2] = {0};
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#_getInput_tmp_1_1
;	Peephole 181	changed mov to clr
	clr	a
	movx	@dptr,a
	C$main.c$519$1$1 ==.
;	../src/main.c:519: if(TRUE == f_clear) {
;	genAssign
	mov	dptr,#_getInput_PARM_4
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r2,#0x01,00102$
	cjne	r3,#0x00,00102$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00120$
;	Peephole 300	removed redundant label 00121$
	C$main.c$520$2$2 ==.
;	../src/main.c:520: clearScr();
;	genCall
	lcall	_clearScr
00102$:
	C$main.c$523$1$1 ==.
;	../src/main.c:523: putstr(prompt);
;	genAssign
	mov	dptr,#_getInput_prompt_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_putstr
	C$main.c$525$1$1 ==.
;	../src/main.c:525: if(TRUE == f_noWait) {
;	genAssign
	mov	dptr,#_getInput_PARM_5
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjneshort
	cjne	r2,#0x01,00122$
	cjne	r3,#0x00,00122$
	sjmp	00123$
00122$:
	ljmp	00111$
00123$:
	C$main.c$526$2$3 ==.
;	../src/main.c:526: tmp[0] = getchar();
;	genCall
	lcall	_getchar
	mov	r2,dpl
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#_getInput_tmp_1_1
	mov	a,r2
	movx	@dptr,a
	C$main.c$527$2$3 ==.
;	../src/main.c:527: conv = atoi(tmp);
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_getInput_tmp_1_1
	mov	b,#0x00
	lcall	_atoi
	mov	a,dpl
	mov	b,dph
;	genAssign
	mov	dptr,#_getInput_conv_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,b
	movx	@dptr,a
	C$main.c$528$2$3 ==.
;	../src/main.c:528: if (sz_retStr == 1) {
;	genAssign
	mov	dptr,#_getInput_PARM_3
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genCmpEq
;	gencjneshort
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 198.a	optimized misc jump sequence
	cjne	r2,#0x01,00106$
	cjne	r3,#0x00,00106$
;	Peephole 200.b	removed redundant sjmp
;	Peephole 300	removed redundant label 00124$
;	Peephole 300	removed redundant label 00125$
	C$main.c$529$3$4 ==.
;	../src/main.c:529: *retStr = tmp[0];
;	genAssign
	mov	dptr,#_getInput_PARM_2
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#_getInput_tmp_1_1
	movx	a,@dptr
;	genPointerSet
;	genGenPointerSet
	mov	r7,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
;	Peephole 191	removed redundant mov
	lcall	__gptrput
	ljmp	00112$
00106$:
	C$main.c$531$2$3 ==.
;	../src/main.c:531: else if (sz_retStr > 1) {
;	genCmpGt
;	genCmp
	clr	c
	mov	a,#0x01
	subb	a,r2
;	Peephole 159	avoided xrl during execution
	mov	a,#(0x00 ^ 0x80)
	mov	b,r3
	xrl	b,#0x80
	subb	a,b
;	genIfxJump
	jc	00126$
	ljmp	00112$
00126$:
	C$main.c$532$3$5 ==.
;	../src/main.c:532: retStr[0] = tmp[0];
;	genAssign
	mov	dptr,#_getInput_PARM_2
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#_getInput_tmp_1_1
	movx	a,@dptr
;	genPointerSet
;	genGenPointerSet
	mov	r5,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
;	Peephole 191	removed redundant mov
	lcall	__gptrput
	C$main.c$533$3$5 ==.
;	../src/main.c:533: retStr[1] = tmp[1];
;	genPlus
;     genPlusIncr
	inc	r2
	cjne	r2,#0x00,00127$
	inc	r3
00127$:
;	genPointerGet
;	genFarPointerGet
	mov	dptr,#(_getInput_tmp_1_1 + 0x0001)
	movx	a,@dptr
;	genPointerSet
;	genGenPointerSet
	mov	r5,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
;	Peephole 191	removed redundant mov
	lcall	__gptrput
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00112$
00111$:
	C$main.c$537$2$6 ==.
;	../src/main.c:537: sz_rc = getstr(retStr);
;	genAssign
	mov	dptr,#_getInput_PARM_2
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_getstr
	mov	r2,dpl
	mov	r3,dph
	C$main.c$538$2$6 ==.
;	../src/main.c:538: if (sz_rc > sz_retStr) return EINMEM;
;	genAssign
	mov	dptr,#_getInput_PARM_3
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
;	genCmpGt
;	genCmp
	clr	c
	mov	a,r4
	subb	a,r2
	mov	a,r5
	xrl	a,#0x80
	mov	b,r3
	xrl	b,#0x80
	subb	a,b
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00109$
;	Peephole 300	removed redundant label 00128$
;	genRet
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0xFFF9
;	Peephole 112.b	changed ljmp to sjmp
;	Peephole 251.b	replaced sjmp to ret with ret
	ret
00109$:
	C$main.c$539$2$6 ==.
;	../src/main.c:539: conv = atoi(retStr);
;	genAssign
	mov	dptr,#_getInput_PARM_2
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_atoi
	mov	a,dpl
	mov	b,dph
;	genAssign
	mov	dptr,#_getInput_conv_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,b
	movx	@dptr,a
00112$:
	C$main.c$542$1$1 ==.
;	../src/main.c:542: return conv;
;	genAssign
	mov	dptr,#_getInput_conv_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genRet
	C$main.c$543$1$1 ==.
	XG$getInput$0$0 ==.
;	Peephole 234.b	loading dph directly from a(ccumulator), r3 not set
	mov	dpl,r2
	mov	dph,a
;	Peephole 300	removed redundant label 00113$
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'timer_1_isr'
;------------------------------------------------------------
;------------------------------------------------------------
	G$timer_1_isr$0$0 ==.
	C$main.c$545$1$1 ==.
;	../src/main.c:545: void timer_1_isr(void) __interrupt(TF1_VECTOR) {
;	-----------------------------------------
;	 function timer_1_isr
;	-----------------------------------------
_timer_1_isr:
	push	acc
	push	b
	push	dpl
	push	dph
	push	(0+2)
	push	(0+3)
	push	(0+4)
	push	(0+5)
	push	(0+6)
	push	(0+7)
	push	(0+0)
	push	(0+1)
	push	psw
	mov	psw,#0x00
	C$main.c$546$1$1 ==.
;	../src/main.c:546: timerIsr();
;	genCall
	lcall	_timerIsr
;	Peephole 300	removed redundant label 00101$
	pop	psw
	pop	(0+1)
	pop	(0+0)
	pop	(0+7)
	pop	(0+6)
	pop	(0+5)
	pop	(0+4)
	pop	(0+3)
	pop	(0+2)
	pop	dph
	pop	dpl
	pop	b
	pop	acc
	C$main.c$547$1$1 ==.
	XG$timer_1_isr$0$0 ==.
	reti
;------------------------------------------------------------
;Allocation info for local variables in function 'main'
;------------------------------------------------------------
;cmd                       Allocated with name '_main_cmd_1_1'
;buf1                      Allocated with name '_main_buf1_1_1'
;ipString                  Allocated with name '_main_ipString_1_1'
;ipChar                    Allocated with name '_main_ipChar_1_1'
;ipStringLarge             Allocated with name '_main_ipStringLarge_1_1'
;ipAddr                    Allocated with name '_main_ipAddr_1_1'
;ipData                    Allocated with name '_main_ipData_1_1'
;lcdLineTracker            Allocated with name '_main_lcdLineTracker_1_1'
;ret                       Allocated with name '_main_ret_1_1'
;byteIdx                   Allocated with name '_main_byteIdx_1_1'
;crChk                     Allocated with name '_main_crChk_1_1'
;------------------------------------------------------------
	G$main$0$0 ==.
	C$main.c$551$1$1 ==.
;	../src/main.c:551: void main() {
;	-----------------------------------------
;	 function main
;	-----------------------------------------
_main:
	C$main.c$554$1$1 ==.
;	../src/main.c:554: unsigned char buf1[] = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ[]";
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#_main_buf1_1_1
	mov	a,#0x61
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0001)
	mov	a,#0x62
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0002)
	mov	a,#0x63
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0003)
	mov	a,#0x64
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0004)
	mov	a,#0x65
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0005)
	mov	a,#0x66
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0006)
	mov	a,#0x67
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0007)
	mov	a,#0x68
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0008)
	mov	a,#0x69
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0009)
	mov	a,#0x6A
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x000a)
	mov	a,#0x6B
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x000b)
	mov	a,#0x6C
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x000c)
	mov	a,#0x6D
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x000d)
	mov	a,#0x6E
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x000e)
	mov	a,#0x6F
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x000f)
	mov	a,#0x70
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0010)
	mov	a,#0x71
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0011)
	mov	a,#0x72
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0012)
	mov	a,#0x73
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0013)
	mov	a,#0x74
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0014)
	mov	a,#0x75
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0015)
	mov	a,#0x76
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0016)
	mov	a,#0x77
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0017)
	mov	a,#0x78
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0018)
	mov	a,#0x79
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0019)
	mov	a,#0x7A
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x001a)
	mov	a,#0x30
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x001b)
	mov	a,#0x31
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x001c)
	mov	a,#0x32
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x001d)
	mov	a,#0x33
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x001e)
	mov	a,#0x34
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x001f)
	mov	a,#0x35
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0020)
	mov	a,#0x36
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0021)
	mov	a,#0x37
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0022)
	mov	a,#0x38
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0023)
	mov	a,#0x39
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0024)
	mov	a,#0x41
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0025)
	mov	a,#0x42
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0026)
	mov	a,#0x43
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0027)
	mov	a,#0x44
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0028)
	mov	a,#0x45
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0029)
	mov	a,#0x46
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x002a)
	mov	a,#0x47
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x002b)
	mov	a,#0x48
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x002c)
	mov	a,#0x49
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x002d)
	mov	a,#0x4A
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x002e)
	mov	a,#0x4B
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x002f)
	mov	a,#0x4C
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0030)
	mov	a,#0x4D
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0031)
	mov	a,#0x4E
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0032)
	mov	a,#0x4F
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0033)
	mov	a,#0x50
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0034)
	mov	a,#0x51
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0035)
	mov	a,#0x52
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0036)
	mov	a,#0x53
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0037)
	mov	a,#0x54
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0038)
	mov	a,#0x55
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0039)
	mov	a,#0x56
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x003a)
	mov	a,#0x57
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x003b)
	mov	a,#0x58
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x003c)
	mov	a,#0x59
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x003d)
	mov	a,#0x5A
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x003e)
	mov	a,#0x5B
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x003f)
	mov	a,#0x5D
	movx	@dptr,a
;	genPointerSet
;     genFarPointerSet
	mov	dptr,#(_main_buf1_1_1 + 0x0040)
;	Peephole 181	changed mov to clr
	C$main.c$556$1$1 ==.
;	../src/main.c:556: char ipString[6] = {0};
;	genPointerSet
;     genFarPointerSet
;	Peephole 181	changed mov to clr
;	Peephole 219.a	removed redundant clear
	C$main.c$558$1$1 ==.
;	../src/main.c:558: char ipStringLarge[100] = {0};
;	genPointerSet
;     genFarPointerSet
;	Peephole 181	changed mov to clr
	C$main.c$561$1$1 ==.
;	../src/main.c:561: int lcdLineTracker = 0;
;	genAssign
;	Peephole 219.a	removed redundant clear
	clr	a
	movx	@dptr,a
	mov	dptr,#_main_ipString_1_1
	movx	@dptr,a
	mov	dptr,#_main_ipStringLarge_1_1
;	Peephole 219.b	removed redundant clear
	movx	@dptr,a
	mov	dptr,#_main_lcdLineTracker_1_1
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$563$1$1 ==.
;	../src/main.c:563: unsigned int byteIdx = 0;
;	genAssign
	mov	dptr,#_main_byteIdx_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$566$1$1 ==.
;	../src/main.c:566: serialInit(0xFF); 						//0xFF gives Baud Rate 57600
;	genCall
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x00FF
	lcall	_serialInit
	C$main.c$567$1$1 ==.
;	../src/main.c:567: initAll();
;	genCall
	lcall	_initAll
	C$main.c$568$1$1 ==.
;	../src/main.c:568: clkInit();
;	genCall
	lcall	_clkInit
	C$main.c$569$1$1 ==.
;	../src/main.c:569: lcdinit();
;	genCall
	lcall	_lcdinit
	C$main.c$570$1$1 ==.
;	../src/main.c:570: eeprom_reset();
;	genCall
	lcall	_eeprom_reset
	C$main.c$572$1$1 ==.
;	../src/main.c:572: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$573$1$1 ==.
;	../src/main.c:573: P1_7 = ON;								//turn on LED
;	genAssign
	setb	_P1_7
	C$main.c$574$1$1 ==.
;	../src/main.c:574: TESTPIN = 0;
;	genAssign
	clr	_P3_5
	C$main.c$575$1$1 ==.
;	../src/main.c:575: clrLcd ();
;	genCall
	lcall	_clrLcd
	C$main.c$576$1$1 ==.
;	../src/main.c:576: lcdputstr("LCD INITIALIZED ");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_19
	mov	b,#0x80
	lcall	_lcdputstr
	C$main.c$577$1$1 ==.
;	../src/main.c:577: clkReset();
;	genCall
	lcall	_clkReset
	C$main.c$578$1$1 ==.
;	../src/main.c:578: clkToggle();
;	genCall
	lcall	_clkToggle
	C$main.c$585$1$1 ==.
;	../src/main.c:585: byte_write(0x000,0xff);
;	genAssign
	mov	dptr,#_byte_write_PARM_2
	mov	a,#0xFF
	movx	@dptr,a
;	genCall
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0000
	lcall	_byte_write
	C$main.c$586$1$1 ==.
;	../src/main.c:586: page_write(0,"0123456789012345");
;	genCast
	mov	dptr,#_page_write_PARM_2
	mov	a,#__str_20
	movx	@dptr,a
	inc	dptr
	mov	a,#(__str_20 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x80
	movx	@dptr,a
;	genCall
;	Peephole 182.b	used 16 bit load of dptr
	mov	dptr,#0x0000
	lcall	_page_write
	C$main.c$588$1$1 ==.
;	../src/main.c:588: EA = 1;
;	genAssign
	setb	_EA
	C$main.c$590$1$1 ==.
;	../src/main.c:590: while (1) {
00125$:
	C$main.c$591$2$2 ==.
;	../src/main.c:591: printMenu();
;	genCall
	lcall	_printMenu
	C$main.c$592$2$2 ==.
;	../src/main.c:592: cmd = getchar();
;	genCall
	lcall	_getchar
	C$main.c$593$2$2 ==.
;	../src/main.c:593: putchar(cmd);
;	genCall
	mov  r2,dpl
;	Peephole 177.a	removed redundant mov
	push	ar2
	lcall	_putchar
	pop	ar2
	C$main.c$595$2$2 ==.
;	../src/main.c:595: switch (cmd) {
;	genCmpLt
;	genCmp
	clr	c
	mov	a,r2
	xrl	a,#0x80
	subb	a,#0xb1
;	genIfxJump
	jnc	00144$
	ljmp	00122$
00144$:
;	genCmpGt
;	genCmp
	clr	c
;	Peephole 159	avoided xrl during execution
	mov	a,#(0x39 ^ 0x80)
	mov	b,r2
	xrl	b,#0x80
	subb	a,b
;	genIfxJump
	jnc	00145$
	ljmp	00122$
00145$:
;	genMinus
	mov	a,r2
	add	a,#0xcf
;	genJumpTab
	mov	r2,a
;	Peephole 105	removed redundant mov
	add	a,acc
	add	a,r2
	mov	dptr,#00146$
	jmp	@a+dptr
00146$:
	ljmp	00101$
	ljmp	00109$
	ljmp	00112$
	ljmp	00113$
	ljmp	00117$
	ljmp	00118$
	ljmp	00119$
	ljmp	00120$
	ljmp	00121$
	C$main.c$596$3$3 ==.
;	../src/main.c:596: case '1':
00101$:
	C$main.c$597$3$3 ==.
;	../src/main.c:597: getInput("\n\rAddress (0x0000 to 0x07FF) > 0x", ipString, 6, TRUE, FALSE);
;	genCast
	mov	dptr,#_getInput_PARM_2
	mov	a,#_main_ipString_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,#(_main_ipString_1_1 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x0
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_3
	mov	a,#0x06
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_4
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_5
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_21
	mov	b,#0x80
	lcall	_getInput
	C$main.c$598$3$3 ==.
;	../src/main.c:598: ipAddr = htoi(ipString);
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_main_ipString_1_1
	mov	b,#0x00
	lcall	_htoi
	mov	r2,dpl
	mov	r3,dph
	C$main.c$599$3$3 ==.
;	../src/main.c:599: if (ipAddr > 0x07FF) {
;	genCmpGt
;	genCmp
	clr	c
	mov	a,#0xFF
	subb	a,r2
	mov	a,#0x07
	subb	a,r3
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00103$
;	Peephole 300	removed redundant label 00147$
	C$main.c$600$4$4 ==.
;	../src/main.c:600: menuInvalid();
;	genCall
	lcall	_menuInvalid
	C$main.c$601$4$4 ==.
;	../src/main.c:601: break;
	ljmp	00125$
00103$:
	C$main.c$603$3$3 ==.
;	../src/main.c:603: getInput("\n\rData (0x00 to 0xFF) > 0x", ipString, 6, FALSE, FALSE);
;	genCast
	mov	dptr,#_getInput_PARM_2
	mov	a,#_main_ipString_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,#(_main_ipString_1_1 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x0
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_3
	mov	a,#0x06
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_4
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_5
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_22
	mov	b,#0x80
	push	ar2
	push	ar3
	lcall	_getInput
	pop	ar3
	pop	ar2
	C$main.c$604$3$3 ==.
;	../src/main.c:604: ipData = htoi(ipString);
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_main_ipString_1_1
	mov	b,#0x00
	push	ar2
	push	ar3
	lcall	_htoi
	mov	r4,dpl
	mov	r5,dph
	pop	ar3
	pop	ar2
	C$main.c$605$3$3 ==.
;	../src/main.c:605: if (ipData > 0xFF) {
;	genCmpGt
;	genCmp
	clr	c
	mov	a,#0xFF
	subb	a,r4
;	Peephole 181	changed mov to clr
	clr	a
	subb	a,r5
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00105$
;	Peephole 300	removed redundant label 00148$
	C$main.c$606$4$5 ==.
;	../src/main.c:606: menuInvalid();
;	genCall
	lcall	_menuInvalid
	C$main.c$607$4$5 ==.
;	../src/main.c:607: break;
	ljmp	00125$
00105$:
	C$main.c$609$3$3 ==.
;	../src/main.c:609: printf("Writing 0x%02X at 0x%03X\n\r", ipData, ipAddr);
;	genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar2
	push	ar3
;	genIpush
	push	ar4
	push	ar5
;	genIpush
	mov	a,#__str_23
	push	acc
	mov	a,#(__str_23 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xf9
	mov	sp,a
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$610$3$3 ==.
;	../src/main.c:610: ret = byte_write(ipAddr,(unsigned char)ipData);
;	genCast
	mov	dptr,#_byte_write_PARM_2
	mov	a,r4
	movx	@dptr,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	lcall	_byte_write
	mov	r2,dpl
;	genCast
	mov	r3,#0x00
	C$main.c$611$3$3 ==.
;	../src/main.c:611: if(ret)
;	genIfx
	mov	a,r2
	orl	a,r3
;	genIfxJump
;	Peephole 108.c	removed ljmp by inverse jump logic
	jz	00107$
;	Peephole 300	removed redundant label 00149$
	C$main.c$612$3$3 ==.
;	../src/main.c:612: printf("Write successful\n\r");
;	genIpush
	mov	a,#__str_24
	push	acc
	mov	a,#(__str_24 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
;	Peephole 112.b	changed ljmp to sjmp
	sjmp	00108$
00107$:
	C$main.c$614$3$3 ==.
;	../src/main.c:614: printf_tiny("Write Failed\n\r");
;	genIpush
	mov	a,#__str_25
	push	acc
	mov	a,#(__str_25 >> 8)
	push	acc
;	genCall
	lcall	_printf_tiny
	dec	sp
	dec	sp
00108$:
	C$main.c$615$3$3 ==.
;	../src/main.c:615: getchar();
;	genCall
	lcall	_getchar
	C$main.c$616$3$3 ==.
;	../src/main.c:616: break;
	ljmp	00125$
	C$main.c$618$3$3 ==.
;	../src/main.c:618: case '2':
00109$:
	C$main.c$619$3$3 ==.
;	../src/main.c:619: getInput("\n\rAddress> 0x", ipString, 6, TRUE, FALSE);
;	genCast
	mov	dptr,#_getInput_PARM_2
	mov	a,#_main_ipString_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,#(_main_ipString_1_1 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x0
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_3
	mov	a,#0x06
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_4
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_5
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_26
	mov	b,#0x80
	lcall	_getInput
	C$main.c$620$3$3 ==.
;	../src/main.c:620: ipAddr = htoi(ipString);
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_main_ipString_1_1
	mov	b,#0x00
	lcall	_htoi
	mov	r2,dpl
	mov	r3,dph
	C$main.c$621$3$3 ==.
;	../src/main.c:621: if (ipAddr > 0x07FF) {
;	genCmpGt
;	genCmp
	clr	c
	mov	a,#0xFF
	subb	a,r2
	mov	a,#0x07
	subb	a,r3
;	genIfxJump
;	Peephole 108.a	removed ljmp by inverse jump logic
	jnc	00111$
;	Peephole 300	removed redundant label 00150$
	C$main.c$622$4$6 ==.
;	../src/main.c:622: menuInvalid();
;	genCall
	lcall	_menuInvalid
	C$main.c$623$4$6 ==.
;	../src/main.c:623: break;
	ljmp	00125$
00111$:
	C$main.c$625$3$3 ==.
;	../src/main.c:625: printf("Reading (0x%03X) = 0x%02X", ipAddr, byte_read(ipAddr));
;	genCall
	mov	dpl,r2
	mov	dph,r3
	push	ar2
	push	ar3
	lcall	_byte_read
	mov	r4,dpl
	pop	ar3
	pop	ar2
;	genCast
	mov	r5,#0x00
;	genIpush
	push	ar4
	push	ar5
;	genIpush
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_27
	push	acc
	mov	a,#(__str_27 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xf9
	mov	sp,a
	C$main.c$626$3$3 ==.
;	../src/main.c:626: getchar();
;	genCall
	lcall	_getchar
	C$main.c$627$3$3 ==.
;	../src/main.c:627: break;
	ljmp	00125$
	C$main.c$629$3$3 ==.
;	../src/main.c:629: case '3':
00112$:
	C$main.c$630$3$3 ==.
;	../src/main.c:630: getInput("\n\rAddress> 0x", ipString, 6, TRUE, FALSE);
;	genCast
	mov	dptr,#_getInput_PARM_2
	mov	a,#_main_ipString_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,#(_main_ipString_1_1 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x0
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_3
	mov	a,#0x06
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_4
	mov	a,#0x01
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_getInput_PARM_5
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_26
	mov	b,#0x80
	lcall	_getInput
	C$main.c$631$3$3 ==.
;	../src/main.c:631: ipAddr = htoi(ipString);
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#_main_ipString_1_1
	mov	b,#0x00
	lcall	_htoi
	C$main.c$633$3$3 ==.
;	../src/main.c:633: ipData = byte_read(ipAddr);
;	genCall
	mov	r2,dpl
;	Peephole 177.d	removed redundant move
	mov  r3,dph
;	Peephole 177.a	removed redundant mov
	push	ar2
	push	ar3
	lcall	_byte_read
	mov	r4,dpl
	pop	ar3
	pop	ar2
;	genCast
	mov	r5,#0x00
	C$main.c$638$3$3 ==.
;	../src/main.c:638: }
;	genCritical
	setb	_main_sloc0_1_0
	jbc	ea,00151$
	clr	_main_sloc0_1_0
00151$:
	C$main.c$636$4$7 ==.
;	../src/main.c:636: clrLine(lcdLineTracker);
;	genAssign
	mov	dptr,#_main_lcdLineTracker_1_1
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
;	genCall
	mov	dpl,r6
	mov	dph,r7
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	push	ar7
	lcall	_clrLine
	pop	ar7
	pop	ar6
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$637$4$7 ==.
;	../src/main.c:637: lcdPrintf2Int(lcdLineTracker, "0x%04X:0x%02X", ipAddr, ipData);
;	genCast
	mov	dptr,#_lcdPrintf2Int_PARM_2
	mov	a,#__str_28
	movx	@dptr,a
	inc	dptr
	mov	a,#(__str_28 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x80
	movx	@dptr,a
;	genAssign
	mov	dptr,#_lcdPrintf2Int_PARM_3
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
;	genAssign
	mov	dptr,#_lcdPrintf2Int_PARM_4
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r5
	movx	@dptr,a
;	genCall
	mov	dpl,r6
	mov	dph,r7
	push	ar6
	push	ar7
	lcall	_lcdPrintf2Int
	pop	ar7
	pop	ar6
;     genEndCritical
	mov	c,_main_sloc0_1_0
	mov	ea,c
	C$main.c$639$3$3 ==.
;	../src/main.c:639: lcdLineTracker = (++lcdLineTracker)%(LCDHEIGHT-1);
;	genPlus
	mov	dptr,#_main_lcdLineTracker_1_1
;     genPlusIncr
	mov	a,#0x01
;	Peephole 236.a	used r6 instead of ar6
	add	a,r6
	movx	@dptr,a
;	Peephole 181	changed mov to clr
	clr	a
;	Peephole 236.b	used r7 instead of ar7
	addc	a,r7
	inc	dptr
	movx	@dptr,a
;	genAssign
	mov	dptr,#_main_lcdLineTracker_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	genAssign
	mov	dptr,#__modsint_PARM_2
	mov	a,#0x03
	movx	@dptr,a
	clr	a
	inc	dptr
	movx	@dptr,a
;	genCall
	mov	dpl,r2
	mov	dph,r3
	lcall	__modsint
	mov	a,dpl
	mov	b,dph
;	genAssign
	mov	dptr,#_main_lcdLineTracker_1_1
	movx	@dptr,a
	inc	dptr
	mov	a,b
	movx	@dptr,a
	C$main.c$640$3$3 ==.
;	../src/main.c:640: break;
	ljmp	00125$
	C$main.c$642$3$3 ==.
;	../src/main.c:642: case '4':
00113$:
	C$main.c$644$3$3 ==.
;	../src/main.c:644: printf("\n\r Base Address |  +0  +1  +2  +3  +4  +5  +6  +7  +8  +9  +A  +B  +C  +D  +E  +F");
;	genIpush
	mov	a,#__str_29
	push	acc
	mov	a,#(__str_29 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$645$3$3 ==.
;	../src/main.c:645: printf("\n\r-------------------------------------------------------------------------------");
;	genIpush
	mov	a,#__str_30
	push	acc
	mov	a,#(__str_30 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	dec	sp
	dec	sp
	dec	sp
	C$main.c$647$3$3 ==.
;	../src/main.c:647: while(byteIdx < 2048) {                        //till we do not reach the max written character
00114$:
;	genAssign
	mov	dptr,#_main_byteIdx_1_1
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
;	genCmpLt
;	genCmp
	mov	r3,a
	clr	c
;	Peephole 106	removed redundant mov
	subb	a,#0x08
;	genIfxJump
	jc	00152$
	ljmp	00116$
00152$:
	C$main.c$648$4$8 ==.
;	../src/main.c:648: printf("\n\r    0x%04X    |",(unsigned int)(byteIdx));
;	genIpush
	push	ar2
	push	ar3
	push	ar2
	push	ar3
;	genIpush
	mov	a,#__str_31
	push	acc
	mov	a,#(__str_31 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar3
	pop	ar2
	C$main.c$649$1$1 ==.
;	../src/main.c:649: for(crChk=0; crChk<16; crChk++) {                                // to display 16 bytes per line
;	genAssign
;	genAssign
	mov	r4,#0x10
	mov	r5,#0x00
00129$:
	C$main.c$650$5$9 ==.
;	../src/main.c:650: printf("  %02X", byte_read(byteIdx));
;	genCall
	mov	dpl,r2
	mov	dph,r3
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	lcall	_byte_read
	mov	r6,dpl
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;	genCast
	mov	r7,#0x00
;	genIpush
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	push	ar6
	push	ar7
;	genIpush
	mov	a,#__str_32
	push	acc
	mov	a,#(__str_32 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
;	genCall
	lcall	_printf
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
	C$main.c$651$5$9 ==.
;	../src/main.c:651: byteIdx++;
;	genPlus
;     genPlusIncr
	inc	r2
	cjne	r2,#0x00,00153$
	inc	r3
00153$:
;	genMinus
;	genMinusDec
	dec	r4
	cjne	r4,#0xff,00154$
	dec	r5
00154$:
	C$main.c$649$5$9 ==.
;	../src/main.c:649: for(crChk=0; crChk<16; crChk++) {                                // to display 16 bytes per line
;	genIfx
	mov	a,r4
	orl	a,r5
;	genIfxJump
;	Peephole 108.b	removed ljmp by inverse jump logic
	jnz	00129$
;	Peephole 300	removed redundant label 00155$
;	genAssign
	mov	dptr,#_main_byteIdx_1_1
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	ljmp	00114$
00116$:
	C$main.c$654$3$3 ==.
;	../src/main.c:654: getchar();
;	genCall
	lcall	_getchar
	C$main.c$655$3$3 ==.
;	../src/main.c:655: byteIdx = 0;
;	genAssign
	mov	dptr,#_main_byteIdx_1_1
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
	C$main.c$656$3$3 ==.
;	../src/main.c:656: break;
	ljmp	00125$
	C$main.c$658$3$3 ==.
;	../src/main.c:658: case '5':
00117$:
	C$main.c$659$3$3 ==.
;	../src/main.c:659: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$660$3$3 ==.
;	../src/main.c:660: putstr("Clearing EEPROM > ");
;	genCall
;	Peephole 182.a	used 16 bit load of DPTR
	mov	dptr,#__str_33
	mov	b,#0x80
	lcall	_putstr
	C$main.c$662$3$3 ==.
;	../src/main.c:662: clear_eeprom();
;	genCall
	lcall	_clear_eeprom
	C$main.c$664$3$3 ==.
;	../src/main.c:664: break;
	ljmp	00125$
	C$main.c$666$3$3 ==.
;	../src/main.c:666: case '6':
00118$:
	C$main.c$667$3$3 ==.
;	../src/main.c:667: eeprom_reset();
;	genCall
	lcall	_eeprom_reset
	C$main.c$668$3$3 ==.
;	../src/main.c:668: break;
	ljmp	00125$
	C$main.c$670$3$3 ==.
;	../src/main.c:670: case '7':
00119$:
	C$main.c$671$3$3 ==.
;	../src/main.c:671: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$672$3$3 ==.
;	../src/main.c:672: clkReset();
;	genCall
	lcall	_clkReset
	C$main.c$673$3$3 ==.
;	../src/main.c:673: break;
	ljmp	00125$
	C$main.c$675$3$3 ==.
;	../src/main.c:675: case '8':
00120$:
	C$main.c$676$3$3 ==.
;	../src/main.c:676: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$677$3$3 ==.
;	../src/main.c:677: clkToggle();
;	genCall
	lcall	_clkToggle
	C$main.c$678$3$3 ==.
;	../src/main.c:678: break;
	ljmp	00125$
	C$main.c$680$3$3 ==.
;	../src/main.c:680: case '9':
00121$:
	C$main.c$681$3$3 ==.
;	../src/main.c:681: clearScr();
;	genCall
	lcall	_clearScr
	C$main.c$682$3$3 ==.
;	../src/main.c:682: emToggle();
;	genCall
	lcall	_emToggle
	C$main.c$683$3$3 ==.
;	../src/main.c:683: break;
	ljmp	00125$
	C$main.c$685$3$3 ==.
;	../src/main.c:685: default:
00122$:
	C$main.c$686$3$3 ==.
;	../src/main.c:686: menuInvalid();
;	genCall
	lcall	_menuInvalid
	C$main.c$687$1$1 ==.
;	../src/main.c:687: }
	C$main.c$689$1$1 ==.
	XG$main$0$0 ==.
	ljmp	00125$
;	Peephole 259.b	removed redundant label 00130$ and ret
;
	.area CSEG    (CODE)
	.area CONST   (CODE)
Fmain$_str_0$0$0 == .
__str_0:
	.db 0x1B
	.ascii "c"
	.db 0x00
Fmain$_str_1$0$0 == .
__str_1:
	.db 0x1B
	.ascii "[2J"
	.db 0x00
Fmain$_str_3$0$0 == .
__str_3:
	.ascii "Invalid Entry, Try again! "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_4$0$0 == .
__str_4:
	.ascii "************************************WELCOME*****************"
	.ascii "******************"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_5$0$0 == .
__str_5:
	.ascii "*                                                           "
	.ascii "                 *"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_6$0$0 == .
__str_6:
	.ascii "*  This program will allow the user to use the EEPROM and co"
	.ascii "ntrol the clock  *"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_7$0$0 == .
__str_7:
	.ascii "************************************************************"
	.ascii "******************"
	.db 0x0A
	.db 0x0D
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_8$0$0 == .
__str_8:
	.ascii "1-> Write Byte to EEPROM "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_9$0$0 == .
__str_9:
	.ascii "2-> Read Byte from EEPROM"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_10$0$0 == .
__str_10:
	.ascii "3-> Display data on LCD"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_11$0$0 == .
__str_11:
	.ascii "4-> EEPROM Hex Dump "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_12$0$0 == .
__str_12:
	.ascii "5-> Erase EEPROM "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_13$0$0 == .
__str_13:
	.ascii "6-> Reset EEPROM "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_14$0$0 == .
__str_14:
	.ascii "7-> Reset Clock "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_15$0$0 == .
__str_15:
	.ascii "8-> Start/Stop Clock "
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_16$0$0 == .
__str_16:
	.ascii "9-> Toggle Enhanced Mode "
	.db 0x0A
	.db 0x0D
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_17$0$0 == .
__str_17:
	.ascii "Command > "
	.db 0x00
Fmain$_str_19$0$0 == .
__str_19:
	.ascii "LCD INITIALIZED "
	.db 0x00
Fmain$_str_20$0$0 == .
__str_20:
	.ascii "0123456789012345"
	.db 0x00
Fmain$_str_21$0$0 == .
__str_21:
	.db 0x0A
	.db 0x0D
	.ascii "Address (0x0000 to 0x07FF) > 0x"
	.db 0x00
Fmain$_str_22$0$0 == .
__str_22:
	.db 0x0A
	.db 0x0D
	.ascii "Data (0x00 to 0xFF) > 0x"
	.db 0x00
Fmain$_str_23$0$0 == .
__str_23:
	.ascii "Writing 0x%02X at 0x%03X"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_24$0$0 == .
__str_24:
	.ascii "Write successful"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_25$0$0 == .
__str_25:
	.ascii "Write Failed"
	.db 0x0A
	.db 0x0D
	.db 0x00
Fmain$_str_26$0$0 == .
__str_26:
	.db 0x0A
	.db 0x0D
	.ascii "Address> 0x"
	.db 0x00
Fmain$_str_27$0$0 == .
__str_27:
	.ascii "Reading (0x%03X) = 0x%02X"
	.db 0x00
Fmain$_str_28$0$0 == .
__str_28:
	.ascii "0x%04X:0x%02X"
	.db 0x00
Fmain$_str_29$0$0 == .
__str_29:
	.db 0x0A
	.db 0x0D
	.ascii " Base Address |  +0  +1  +2  +3  +4  +5  +6  +7  +8  +9  +"
	.ascii "A  +B  +C  +D  +E  +F"
	.db 0x00
Fmain$_str_30$0$0 == .
__str_30:
	.db 0x0A
	.db 0x0D
	.ascii "----------------------------------------------------------"
	.ascii "---------------------"
	.db 0x00
Fmain$_str_31$0$0 == .
__str_31:
	.db 0x0A
	.db 0x0D
	.ascii "    0x%04X    |"
	.db 0x00
Fmain$_str_32$0$0 == .
__str_32:
	.ascii "  %02X"
	.db 0x00
Fmain$_str_33$0$0 == .
__str_33:
	.ascii "Clearing EEPROM > "
	.db 0x00
	.area XINIT   (CODE)
